@use "@/styles/namespace.scss" as *;

$prefix-class: #{$admin-namespace}-pro-table;

// #{$el-namespace} 默认为 el，如果组件迁移到其他项目，且项目架构与此项目不同，则请修改 #{$el-namespace} 为 el
.#{$prefix-class} {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  height: 100%;

  &__main {
    display: flex;
    flex: 1;
    flex-direction: column;
    width: 100%;
    height: 100%;

    // 表格 header 样式
    &__header {
      &--button-lf {
        float: left;
      }

      &--button-ri {
        float: right;

        .#{$el-namespace}-button:focus-visible {
          outline: none;
        }
      }

      .#{$el-namespace}-button {
        margin-bottom: 15px;
      }
    }

    // el-table 表格样式
    .#{$el-namespace}-table {
      flex: 1;

      // 修复 safari 浏览器表格错位
      table {
        width: 100%;
      }

      .#{$el-namespace}-table__header tr th {
        height: 45px;
        font-size: 15px;
        font-weight: bold;
        color: var(--#{$el-namespace}-text-color-primary);
        // 表头背景色
        background: #e6eaef;
      }

      .#{$el-namespace}-table__row {
        height: 45px;
        font-size: 14px;

        .#{$el-namespace}-table__placeholder {
          display: inline;
        }

        .#{$el-namespace}-table__cell {
          .#{$el-namespace}-form-item {
            &__label {
              line-height: 10px;
              padding: 0;
            }
          }
        }
      }

      // 设置 el-table 中 header 文字不换行，并省略
      .#{$el-namespace}-table__header .#{$el-namespace}-table__cell > .cell {
        white-space: nowrap;
      }

      // 解决表格数据为空时样式不居中问题(仅在element-plus中)
      .#{$el-namespace}-table__empty-block {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);

        .#{$prefix-class}__empty {
          line-height: 30px;
        }
      }

      // table 中 image 图片样式
      .table-image {
        width: 50px;
        height: 50px;
        border-radius: 50%;
      }
    }

    // 表格 pagination 样式
    .#{$el-namespace}-pagination {
      display: flex;
      justify-content: flex-end;
    }
  }

  /* card 样式 */
  .no-card {
    .card {
      padding: 0;
      background-color: transparent;
      border: none;
      border-radius: 0;
      box-shadow: none;
    }

    .table-search {
      padding: 18px 0 0 !important;
      margin-bottom: 0 !important;
    }
  }

  .card {
    box-sizing: border-box;
    padding: 20px;
    overflow-x: hidden;
    background-color: var(--#{$el-namespace}-fill-color-blank);
    border: 1px solid var(--#{$el-namespace}-border-color-light);
    border-radius: 4px;
    box-shadow: 0 0 12px rgb(0 0 0 / 5%);
  }
}
